package gitee.blacol.myIdUtil.builder;

import gitee.blacol.myIdUtil.entity.IdBuilderConfig;
import gitee.blacol.myIdUtil.entity.IdThing;
import gitee.blacol.myIdUtil.exception.MissingNecessaryParameters;
import gitee.blacol.myIdUtil.exception.PropNotExists;

public abstract class IdBuilder<T> {
    IdBuilderConfig config;
    boolean startWith0;
    boolean useSeparator;
    String indexFormat="%d";
    String filePath="";

    public abstract IdBuilder<T> setConfig(IdBuilderConfig config) throws MissingNecessaryParameters, PropNotExists;

    public abstract T build();
}
